home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 2 / Atari Mega Archive CD - Volume 2.iso / minix / up1510b.tgz / up1510b / src / commands / banner.c < prev    next >
C/C++ Source or Header  |  1990-07-19  |  7KB  |  150 lines

  1. /* banner - print a banner        Author: Brian Wallis */
  2.  
  3. /*****************************************************************
  4.  *
  5.  * SYSVbanner.c
  6.  *
  7.  * This is a PD version of the SYS V banner program (at least I think
  8.  * it is compatible to SYS V) which I wrote to use with the clock
  9.  * program written by:
  10.  **     DCF, Inc.
  11.  **     14623 North 49th Place
  12.  **     Scottsdale, AZ 85254
  13.  * and published in the net comp.sources.misc newsgroup in early July
  14.  * since the BSD banner program works quite differently.
  15.  *
  16.  * There is no copyright or responsibility accepted for the use
  17.  * of this software.
  18.  *
  19.  * Brian Wallis, brw@jim.odr.oz, 4 July 1988
  20.  *
  21.  *****************************************************************/
  22.  
  23. #include <stdio.h>
  24.  
  25. char *glyphs[] = {
  26.       "         @@@  @@@ @@@  @ @   @@@@@ @@@   @  @@     @@@  ",
  27.     "         @@@  @@@ @@@  @ @  @  @  @@ @  @  @  @    @@@   ",
  28.       "         @@@   @   @ @@@@@@@@  @   @@@ @    @@      @   ",
  29.       "          @            @ @   @@@@@    @    @@@     @    ",
  30.       "                     @@@@@@@   @  @  @ @@@@   @ @       ",
  31.       "         @@@           @ @  @  @  @ @  @ @@    @        ",
  32.       "         @@@           @ @   @@@@@ @   @@@ @@@@ @       ",
  33.  
  34.       "   @@    @@                                            @",
  35.       "  @        @   @   @    @                             @ ",
  36.       " @          @   @ @     @                            @  ",
  37.       " @          @ @@@ @@@ @@@@@   @@@   @@@@@           @   ",
  38.       " @          @   @ @     @     @@@           @@@    @    ",
  39.       "  @        @   @   @    @      @            @@@   @     ",
  40.       "   @@    @@                   @             @@@  @      ",
  41.  
  42.       "  @@@     @    @@@@@  @@@@@ @      @@@@@@@ @@@@@ @@@@@@@",
  43.       " @   @   @@   @     @@     @@    @ @      @     @@    @ ",
  44.       "@ @   @ @ @         @      @@    @ @      @          @  ",
  45.       "@  @  @   @    @@@@@  @@@@@ @@@@@@@ @@@@@ @@@@@@    @   ",
  46.       "@   @ @   @   @            @     @       @@     @  @    ",
  47.       " @   @    @   @      @     @     @ @     @@     @  @    ",
  48.       "  @@@   @@@@@ @@@@@@@ @@@@@      @  @@@@@  @@@@@   @    ",
  49.  
  50.       " @@@@@  @@@@@    @     @@@      @           @     @@@@@ ",
  51.       "@     @@     @  @ @    @@@     @             @   @     @",
  52.       "@     @@     @   @            @     @@@@@     @        @",
  53.       " @@@@@  @@@@@@         @@@   @                 @     @@ ",
  54.       "@     @      @   @     @@@    @     @@@@@     @     @   ",
  55.       "@     @@     @  @ @     @      @             @          ",
  56.       " @@@@@  @@@@@    @     @        @           @       @   ",
  57.  
  58.       " @@@@@    @   @@@@@@  @@@@@ @@@@@@ @@@@@@@@@@@@@@ @@@@@ ",
  59.       "@     @  @ @  @     @@     @@     @@      @      @     @",
  60.       "@ @@@ @ @   @ @     @@      @     @@      @      @      ",
  61.       "@ @ @ @@     @@@@@@@ @      @     @@@@@@  @@@@@  @  @@@@",
  62.       "@ @@@@ @@@@@@@@     @@      @     @@      @      @     @",
  63.       "@     @@     @@     @@     @@     @@      @      @     @",
  64.       " @@@@@ @     @@@@@@@  @@@@@ @@@@@@ @@@@@@@@       @@@@@ ",
  65.  
  66.       "@     @  @*@        @@    @ @      @     @@     @@@@@@@@",
  67.       "@     @   @         @@   @  @      @@   @@@@    @@     @",
  68.       "@     @   @         @@  @   @      @ @ @ @@ @   @@     @",
  69.       "@@@@@@@   @         @@@@    @      @  @  @@  @  @@     @",
  70.       "@     @   @   @     @@  @   @      @     @@   @ @@     @",
  71.       "@     @   @   @     @@   @  @      @     @@    @@@     @",
  72.       "@     @  @@@   @@@@@ @    @ @@@@@@@@     @@     @@@@@@@@",
  73.  
  74.       "@@@@@@  @@@@@ @@@@@@  @@@@@ @@@@@@@@     @@     @@     @",
  75.       "@     @@     @@     @@     @   @   @     @@     @@  @  @",
  76.       "@     @@     @@     @@         @   @     @@     @@  @  @",
  77.       "@@@@@@ @     @@@@@@@  @@@@@    @   @     @@     @@  @  @",
  78.       "@      @   @ @@   @        @   @   @     @ @   @ @  @  @",
  79.       "@      @    @ @    @ @     @   @   @     @  @ @  @  @  @",
  80.       "@       @@@@ @@     @ @@@@@    @    @@@@@    @    @@ @@ ",
  81.  
  82.       "@     @@     @@@@@@@@ @@@@@ @       @@@@@    @          ",
  83.       " @   @  @   @      @  @      @          @   @ @         ",
  84.       "  @ @    @ @      @   @       @         @  @   @        ",
  85.       "   @      @      @    @        @        @               ",
  86.       "  @ @     @     @     @         @       @               ",
  87.       " @   @    @    @      @          @      @               ",
  88.       "@     @   @   @@@@@@@ @@@@@       @ @@@@@        @@@@@@@",
  89.  
  90.       "  @@@                                                   ",
  91.       "  @@@     @@   @@@@@   @@@@  @@@@@  @@@@@@ @@@@@@  @@@@ ",
  92.       "   @     @  @  @    @ @    @ @    @ @      @      @    @",
  93.       "    @   @    @ @@@@@  @      @    @ @@@@@  @@@@@  @     ",
  94.       "        @@@@@@ @    @ @      @    @ @      @      @  @@@",
  95.       "        @    @ @    @ @    @ @    @ @      @      @    @",
  96.       "        @    @ @@@@@   @@@@  @@@@@  @@@@@@ @       @@@@ ",
  97.  
  98.       "                                                        ",
  99.       " @    @    @        @ @    @ @      @    @ @    @  @@@@ ",
  100.       " @    @    @        @ @   @  @      @@  @@ @@   @ @    @",
  101.       " @@@@@@    @        @ @@@@   @      @ @@ @ @ @  @ @    @",
  102.       " @    @    @        @ @  @   @      @    @ @  @ @ @    @",
  103.       " @    @    @   @    @ @   @  @      @    @ @   @@ @    @",
  104.       " @    @    @    @@@@  @    @ @@@@@@ @    @ @    @  @@@@ ",
  105.  
  106.       "                                                        ",
  107.       " @@@@@   @@@@  @@@@@   @@@@   @@@@@ @    @ @    @ @    @",
  108.       " @    @ @    @ @    @ @         @   @    @ @    @ @    @",
  109.       " @    @ @    @ @    @  @@@@     @   @    @ @    @ @    @",
  110.       " @@@@@  @  @ @ @@@@@       @    @   @    @ @    @ @ @@ @",
  111.       " @      @   @  @   @  @    @    @   @    @  @  @  @@  @@",
  112.       " @       @@@ @ @    @  @@@@     @    @@@@    @@   @    @",
  113.  
  114.       "                       @@@     @     @@@   @@    @ @ @ @",
  115.       " @    @  @   @ @@@@@@ @        @        @ @  @  @ @ @ @ ",
  116.       "  @  @    @ @      @  @        @        @     @@ @ @ @ @",
  117.       "   @@      @      @  @@                 @@        @ @ @ ",
  118.       "   @@      @     @    @        @        @        @ @ @ @",
  119.       "  @  @     @    @     @        @        @         @ @ @ ",
  120.     " @    @    @   @@@@@@  @@@     @     @@@         @ @ @ @"};
  121.  
  122.  
  123. main(argc, argv)
  124. int argc;
  125. char *argv[];
  126. {
  127.   int a, b, c, len, ind;
  128.   char line[80];
  129.  
  130.   for (argv++; --argc; argv++) {
  131.     len = strlen(*argv);
  132.     if (len > 10) len = 10;
  133.     for (a = 0; a < 7; a++) {
  134.         for (b = 0; b < len; b++) {
  135.             if ((ind = (*argv)[b] - ' ') < 0) ind = 0;
  136.             for (c = 0; c < 7; c++) {
  137.                 line[b * 8 + c] = glyphs[(ind / 8 * 7) + a][(ind % 8 * 7) + c];
  138.             }
  139.             line[b * 8 + 7] = ' ';
  140.         }
  141.         for (b = len * 8 - 1; b >= 0; b--) {
  142.             if (line[b] != ' ') break;
  143.             line[b] = '\0';
  144.         }
  145.         printf("%s\n", line);
  146.     }
  147.     printf("\n");
  148.   }
  149. }
  150.